home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
lang_oth
/
tm480
/
tmmanual.exe
/
SCRMAN.MAC
< prev
next >
Wrap
Text File
|
1991-09-10
|
53KB
|
1,777 lines
@vid
@macro B,"@bbmenu white,red"
@macro C,"@colour char,cyan,blue"
@macro D,"@bbmenu cyan,blue"
@macro M,@use 'SCRMAN <F1>=HELP, <PgUp>=previous menu,<PgDn>=next menu <esc>=Main menu'
@macro N
@colour char,white,blue
@win line23,column3,depth1,width1
<>=to validate the field(s), <F1>=to abandon
@colour char,cyan,blue
@ENDM
@macro R
@dim
@colour char,cyan,blue
@BANNER
@endm
@macro W,"@col char,white,blue"
@defaults dim,cyan,blue
@head left,"Taskmaster SCR Manual"
@head right,"Copyright (c) FmP 1991"
@head centre,"General Topics Menu"
@nf MAIN
@dou
@col page,cyan,blue
$R$
@border
8
@draw
>C< 0
$D$
{IN-LINE } 0
{COLOURS } 0
{FOREGROUND } 0
{BACKGROUND } 0
{FLASHING } 0
{GRAPHICS } 0
{SYMBOLS } 0
{INSERTING } 0
{INVOCATION } 0
{FILENAMES } 0
{FLAGS } 0
{OPTIONS } 0
>C< 0
This on-line man-0
ual for SCR can0
only scratch the0
surface of the0
facilities avail-0
able. 0
0
2
@use 'Action: Select and or <esc> to return to previous menu'
@end
@nf h_frame
@head centre,"Main Menu"
$R$
@dim
@col page,cyan,blue
@border
@end
@nf horizontal
@head centre,Main Menu
$R$
@dim
$C$
@win line2,column1,depth1,width77
$D$
{BROWSE }{OVERVIEW }{GENERAL }{DATA-CAPTURE }{MENUS }{GRAPHICS }{ATTRIBUTES }{QUIT }
@bright
@use 'Action: Select and press or press <esc> to leave current menu'
@end
@nf GEN
@head centre,General Menu
$R$
@dim
$C$
@win line3,column19,depth19,width12
$B$
@drop
@out white
{ACCEPTFK }
{BANNER }
{BORDER }
{DEFAULTS }
{DF }
{END }
{HEADING }
{NF }
{OVERLAY }
{REPEAT }
{SOFT }
{SPACES }
{USERLINE }
{VIDEO }
{WINDOW }
@line
Keys:
@end
@nf DAT
@head centre,Data Capture Menu
$R$
@dim
$C$
@win line3,column28,depth16,width12
$B$
@drop
@out white
{ALPHA }
{DATE }
{FILENAME }
{LIST }
{LOGICAL }
{MARKERS }
{NUMBER }
{PATH }
{PRINTER }
{RANGE }
{STRING }
{TIME }
@line
Keys:
@end
@nf MEN
@head centre,Menus Menu
$R$
@dim
$C$
@win line3,column42,depth11,width11
$B$
@drop
@out white
{BBMENU }
{BBIMENU }
{BBHELP }
{DROP }
{HELP }
{KEY }
{MENU }
@line
Keys:
@end
@nf GRA
@head centre,Graphics Menu
$R$
@dim
$C$
@win line3,column49,depth13,width13
$B$
@drop
@out white
{DOUBLE }
{DRAW }
{GOFF }
{GON }
{LINE }
{MAP }
{OUTLINE }
{SINGLE }
{TRANSLATE }
@line
Keys:
@end
@nf ATT
@head centre,Attributes Menu
$R$
@dim
$C$
@win line3,column59,depth8,width10
$B$
@drop
@out white
{BRIGHT }
{COLOUR }
{DIM }
{SHADOW }
@line
Keys:
@end
@nf flags
$C$
@dim
@win line2,column20,depth20,width55
Valid command line flags :
/I = Ignore @DF commands, i.e. treat as @NF
/P = Pause after errors and warnings
/Q = Suppress all output except Fatal errors
/S = Display source after macro processing
/I implicit
Enter SCR to see an up to date list.
@end
@nf options
$C$
@dim
@win line2,column20,depth20,width55
In the syntax definitions throughout this manual items
appearing in braces for example {{OPTIONAL}} may be
omitted.
The keyword OPTIONAL may be used with many field
directives and indicates that the user may leave the
field blank. If characters are entered however, the
field will be validated.
@end
@nf invocation
$C$
@dim
@win line2,column20,depth20,width55
Running SCR
SCR is invoked with a command of the form:
SCR {{d:{{path}}}}filename{{.ext}}
The drive identifier and pathname are optional. An
extension may be given but is normally omitted; this
causes an ordered search for filename.mac, filename.pro
or filename.tsk respectively. No wildcards are allowed.
(.pro files are program files used with our PROTEAN 4GL
which behaves like Taskmaster but supports a further
70 commands for everything from comms. to database.)
The file FMPVT52.DEF must be available either in the
current working directory or in an APPENDed directory.
See MS-DOS APPEND command.
@end
@nf filenames
$C$
@dim
@win line2,column20,depth20,width55
SCR - USE OF FILENAMES
When invoked as : SCR filename , SCR searches for
filename.MAC or filename.TSK respectively.
On finding one of the above, it then searches the file
for an @video directive. If and when this is located,
forms are processed until an end-of-file character
(^Z) or an @EOF directive is encountered. The output
file is called filename.ovr.
This allows both Taskmaster commands and SCR directives
to be located in a single file with a filetype of TSK.
If the combined file gets unmanageably large and has
many commands and many SCR source lines it is normal
to move the forms to a .MAC file to speed editing.
The output file (or OVR file as it is normally called)
is then opened in your task using the FORMS command.
@end
@nf IN-LINE
$C$
@dim
@win line2,column20,depth20,width55
In-line control characters
Control characters may be interspersed with screen text
to control certain attributes of screen text within a
line.
Attributes controlled are :
FOREGROUND COLOUR,
BACKGROUND COLOUR,
FLASHING/STEADY,
GRAPHICS/TEXT mode,
NORMAL/INTENSIFIED
POSITIVE/NEGATIVE
Certain special characters are also available via this
mechanism: ^U= ^D= ^A= ^V= ^W=
@end
@nf COLOURS
$C$
@dim
@win line2,column20,depth20,width55
COLOURS - Use of Control characters.
Both the foreground and background colours can be
changed using control characters. However, the
background colour command sequence alone will not
result in any colour change.
The effect of a background colour sequence is to change
the value to be used as a background colour next time
the foreground is changed.
@end
@nf background
$C$
@dim
@win line2,column20,depth20,width55
BACKGROUND COLOUR
syntax: ^P and a colour as below:
@bright
^R (control R = 12 hex) R ed
^G (control G = 07 hex) G reen
^Y (control Y = 19 hex) Y ellow
^B (control B = 02 hex) B lue
^A (control A = 01 hex) magent A
^C (control C = 03 hex) C yan
^W (control W = 17 hex) W hite
^K (control K = 0B hex) blac K
@col char,cyan,blue
@dim
Note that trailing spaces (spaces at the end of a line)
are normally trimmed during processing and so don't
appear. This action can be prevented by use of a
terminating ^E.
@end
@nf foreground
$C$
@dim
@win line2,column20,depth20,width55
FOREGROUND COLOUR
This command is used to specify the foreground and send
a sequence to the SCREEN. If no background colour has
been specified then the default taken from the video
definition file in use will prevail.
syntax: ^S and a colour as for background ( control S =
13 hex )
Example
@draw
>1<
Change foreground to white ^S^Wlike that.
>1<
Is displayed as:
>2<
Change foreground to white like that.
>2<
@end
@nf graphics
$C$
@dim
@win line2,column20,depth20,width55
GRAPHICS TOGGLE
If in graphics mode, by virtue of @GON or this command,
the video will be returned to TEXT mode. If in text
mode (by virtue of @GOFF or this command) then this
command will set graphic mode.
syntax: ^X (control X = 18 hex)
The translation of numbers to shapes is easy to
remember. Imagine a "Quartered square" like this:
@gon
7---8---9 7---8---9
0 0 0 All the intersection characters 0 0 0
4---5---6 can readily be remembered by 4---5---6
0 0 0 reference to their placement on 0 0 0
1---2---3 a standard numeric keypad. 1---2---3
Additionally minus (-) gets translated into -
and zero (0) becomes 0
In-line ^Y switches between single/double line mode.
-5555-/-5555-
@end
@nf flashing
$C$
@dim
@win line2,column20,depth20,width55
FLASHING TOGGLE
This is the only command available to SCR for
controlling FLASHING of screen data. If the current
attribute is STEADY, receipt of this command will set
the flashing attribute.
If the current attribute is FLASHING, then the normal
steady attribute will be restored.
syntax: ^F (control F = 06 hex)
@end
@nf inserting
$C$
@dim
@win line2,column20,depth20,width55
INSERTING CONTROL CHARACTERS INTO THE SOURCE FILE
Most wordprocessors have the ability to insert control
characters into the text file. A typical implementation
uses the control P function as a preamble byte which is
then followed by the required control character.
Example for WordStar (tm) users
1. Position the cursor to required place.
2. Check insert mode is on.
3. Press <control> and P together.
4. Press X
5. ^X should appear on the screen. If not, press
control OD.
When using the "control P" function in WordStar,
certain control characters must be avoided, e.g.
control and M. These cause undesirable screen effects
during source file editing.
@end
@nf user_interface
@dim
@col char,black,green
@win line2,column10,depth20,width60
@outline black,double
This task is a very brief insight into SCR, the FmP
Screen Template Processor.
BOUNCE-BAR MENUS
One topic is always HIGHLIGHTED - press for more
information on highlighted topic. There are a number of
ways to move the highlight. Space and move highlight
right and/or down to next topic. moves highlight up
and/or left to previous topic. <HOME> highlights the
first topic.
The <> and <> keys select next and previous menus
respectively. You may press <esc> to exit from the task.
DATA ENTRY forms
These are included so you may check Taskmaster's data
validation mechanisms. You can exit from these forms by
pressing any function key. PRESS ANY KEY
$C$
@END
@NF symbols
@gon
SPECIAL SYMBOLS RECOGNISED BY SCR
7------8--------------------------------8-------------------------9
0SYMBOL0 MEANING / DESCRIPTION 0 DEPENDENCY / NOTES 0
4------5--------------------------------5-------------------------6
0 [[ 0 Start of an unprotected field 0 Use [[[[ to display [[ 0
0 ]] 0 End of an unprotected field. 0 Use ]]]] to display ]] 0
4------5--------------------------------5-------------------------6
0 _ 0 {(as [_])} Spaces substitution 0 must follow @SPACES 0
0 0 as declared by @SPACES. 0 in this or earlier form.0
0 - 0 {(as [-])} Fills field with 0 Note hyphen must be 0
0 0 underscores at run-time. 0 used NOT underscore. 0
0 . 0 {(as [.])} Fills field with 0 See @markers for 0
0 0 dots at run-time. 0 example of use. 0
0 ! 0 {(as [! ])} Declares the field 0 Text keyed into this 0
0 0 as a "password" type field. 0 field is invisible. 0
4------5--------------------------------5-------------------------6
0 {{ 0 Start of Text variable. 0 Use {{{{ to display {{ 0
0 }} 0 End of Text variable. 0 Use }}}} to display }} 0
4------5--------------------------------5-------------------------6
0{>n<} 0 Corner of a graphics box or 0 Treated as text if no 0
0 0 graphics line. (if @DRAW has 0 @DRAW preceding. 0
0 0 been declared for this form) 0 0
0{=n=} 0 Double-line graphics box 0 As{>n<.} 0
1------2--------------------------------2-------------------------3
@end
@nf m0
@col page,cyan,blue
@head centre,"Browse Menu One"
$R$
@bbmenu cyan,blue
@GON
7----------8-------------------------------------8-------------------------9
0DIRECTIVE 0 DATA TYPE / DESCRIPTION 0 KEYWORDS 0
4----------5-------------------------------------5-------------------------6
0{ALPHA }0 A string of text that must only 0 UPPER,CONVERT 0
0 0 contain alphabetic characters 0 0
4----------5-------------------------------------5-------------------------6
0{ACCEPTFK }0 Determines active function keys 0 NONE, F1-F12 0
4----------5-------------------------------------5-------------------------6
0{BANNER }0 This line is replaced by heading 0 0
0 0 as set-up by @HEAD commands 0 0
4----------5-------------------------------------5-------------------------6
0{BBMENU }0 Designates the template as 0 BLUE,RED,GREEN,CYAN 0
0 0 containing a "Bounce-Bar Menu" 0 YELLOW,MAGENTA,WHITE 0
0 0 0 BLACK 0
4----------5-------------------------------------5-------------------------6
0{BBIMENU }0 As BBMENU except user need not 0 0
0 0 press if using 1st char. 0 0
4----------5-------------------------------------5-------------------------6
0{BORDER }0 Encloses screen in rectangle 0 Foreground colour 0
4----------5-------------------------------------5-------------------------6
0{BRIGHT }0 Sets full intensity mode. 0 0
1----------2-------------------------------------2-------------------------3
@goff
$W$
@use 'SCRMAN <F1>=HELP, <PgDn>=next menu <esc>=Main menu'
@end
@head left,"SCR Directives"
@nf alpha
@col page,cyan,blue
@head centre,@ALPHA
$R$
@border
@ALPHA min 3,upper
This directive is similar to the @STRING directive, except
that the field it describes may only contain alphabetic
characters.
@ALPHA {{MIN nn}} {{,UPPER}}
{{,CONVERT}}
Example:
@draw
>1<
@ALPHA min 3,upper
Please enter ID code{[ ]}
Minimun 3 ALPHABETIC chars (Capitals only)
>1<
Will display like:
>2<
Please enter ID code [ ]
Minimun 3 ALPHABETIC chars (Capitals only)
>2<
$N$
@end
@nf acceptfk
@head centre,@ACCEPTFK
$R$
@border
By default, when Taskmaster displays a form containing one or more
fields the user can opt to press a Function Key or <esc> instead of
filling in the field(s). The task can take appropriate action by
examining the ANYFK and FUNKEY system variables. The ACCEPTFK
directive enables you to limit which keys are active thus simplifying
the Taskmaster code and improving the user interface.
@ACCEPTFK {{NONE}}{{f1-f12}}{{ESC}}
Example:
@draw
>1<
@str min3
@ACCEPTFK f2,esc
Please enter 3 characters (or press F2 or <ESC> to Quit)
[[ ]]
>1<
Will display like:
>2<
@str min3
@ACCEPTFK f2,esc
Please enter 3 characters (or press F2 or <ESC> to Quit)
[ ]
>2<
@end
@nf banner
@head centre,@BANNER
$R$
@border
To insert the line of data set up using HEADING directives
into the screen template, normally as the first displayable
line. This has been done at the top of the current screen
as follows:
@head left,"^RSCR Directives"
@head right,"Copyright (c) FmP 1991^R"
@head centre,@BANNER
@banner
See @heading directive.
@end
@nf bbmenu
@head centre,@BBMENU
$R$
@border
A BBMENU directive may be used to define a menu screen which
will be displayed by the Taskmaster MENU (or PUT) command as
a "Bounce-Bar" menu. The alternative is to use a MENU
directive.
@BBMENU foreground,background
(You used a bounce bar-menu to display this template).
@end
@nf bbimenu
@head centre,@BBIMENU
$R$
@border
A BBIMENU directive is like a BBMENU except that pressing
the first character will immediately cause selection of the
next topic starting with that letter without the key
being pressed.
@BBIMENU foreground,background
(Not normally used when 2 or more topics have same initial
letter)
@end
@nf border
@head centre,@border
$R$
@border
A BORDER directive is the easy way to draw a frame around
the screen as can be seen on this screen.
@BORDER {{foreground}}
The border will commence on the current line and finish on
the last line. The border is always drawn in double line
graphic characters.
Even if you specify a colour the current foreground colour
will be automatically restored.
If you wish to use the current foreground colour there is no
need to specify it.
@border
Second and subsequent instances of @border in a form will
cause the appropriate intersection characters to be used in
lieu of upper left and upper right characters. As here...
@end
@nf BRIght
@head centre,@BRIGHT
$R$
@border
Sets the intensity bit in the video adapter.
@BRIGHT
It has just been used...
@DIM
Now turned off via @dim.
@end
@nf m1
@col page,cyan,blue
@head centre,"Browse Menu Two"
$R$
$D$
@GON
7----------8-------------------------------------8-------------------------9
0DIRECTIVE 0 DATA TYPE / DESCRIPTION 0 KEYWORDS 0
4----------5-------------------------------------5-------------------------6
0{COLOUR }0 Used to specify page and character 0 CHAR,PAGE, and 0
0 0 colours. e.g. @COL CHAR,RED,BLACK 0 those listed 0
0 0 0 for BBMENU 0
4----------5-------------------------------------5-------------------------6
0{DATE }0 A date in UK or US format. 0 0
4----------5-------------------------------------5-------------------------6
0{DEFAULTS }0 Specifies colours and intensity 0 DIM,BRIGHT and COLOURs 0
4----------5-------------------------------------5-------------------------6
0{DF }0 As @NF but display the form after 0 0
0 0 processing in its final form. 0 0
4----------5-------------------------------------5-------------------------6
0{DIM }0 Sets half intensity mode. 0 0
4----------5-------------------------------------5-------------------------6
0{DOUBLE }0 Sets double line graphics mode 0 0
4----------5-------------------------------------5-------------------------6
0{DRAW }0 Allows graphic shapes to be drawn. 0 0
4----------5-------------------------------------5-------------------------6
0{END }0 End of form. 0 0
1----------2-------------------------------------2-------------------------3
@goff
$W$
$M$
@end
@nf colour
@head centre,@COLOUR
$R$
@border
To change the colour of the rest of the screen.
@COLour CHAR,FOREGROUND,BACKGROUND
or
@COLour PAGE,FOREGROUND,BACKGROUND
(Clears to end of page in specified colours)
Valid FOREGROUND/BACKGROUND values
RED WHITE CYAN GREEN BLACK MAGENTA YELLOW BLUE
@bright
Example:
@draw
>1<
@col char,yellow,blue
Character colour set to yellow on blue.
>1<
Displays like:
>2<
@col char,yellow,blue
Character colour set to yellow on blue.
>2<
$C$
@end
@nf date
@col page,cyan,blue
@head centre,@DATE
$R$
@border
@date optional
A date directive is used to define an "unprotected field"
for a date.
@DATE {{OPTIONAL}}
@bright
Example:
@draw
>1<
@date optional
Please enter a valid date{[ ]}
>1<
Displays like:
>2<
@col char,yellow,blue
Please enter a valid date [ ]
>2<
@dim
$C$
The MS-DOS country code is used to determine the default date format;
US country code forces US date format i.e. mm/dd/yy, other codes
force UK format i.e dd/mm/yy. You may force Taskmaster to validate
date to the U.S. format by the /U command line flag.
$N$
@end
@nf dim
@head centre,@DIM
$R$
@border
Turns off intensify mode if set. See @bright.
@end
@nf defaults
@head centre,@DEFAULTS
$R$
@border
Each time SCR encounters a @df or @nf directive certain
defaults are reset. The @defaults directive allows you to
determine what values are used for three of these defaults,
namely:
The intensity BRIGHT or DIM, the foreground colour and the
background colour.
Example:
To ensure that following forms are by default in CYAN on
BLUE at DIM intensity:
@DEFAULTS DIM,CYAN,BLUE
@end
@nf df
@head centre,@df
$R$
@border
The DISPLAYFORM directive is identical to the NEWFORM
directive except that it results in the processed form being
displayed on the screen after successful processing.
@df FORMNAME {{,MODE0}}
Mode0 sets the video into a 40 character mode.
@end
@nf double
@head centre,@DOUBLE_LINE
$R$
@border
When in graphics mode all numeric digits and minus signs
have special meaning they are translated into graphic
shapes; see the GON directive.
@DOUBLE_LINE
@DOUBLE_LINE ensures that the shapes are composed of the
double line characters (01234567890-).
Within lines the ^Y character will toggle between single and
double line modes.
@end
@nf draw
@head centre,@DRAW
$R$
@border
If a DRAW directive has been encountered previously in the
current template the "pairs" of characterd enclosed in > and
< will be interpreted as opposite corners of a rectangle.
Any identifier in the range 0-9 or A-Z is permissable.
Otherwise, character sequences such as >1< will not be
interpreted as special symbols.
@DRAW not yet specified
>A< >Y<
>W<
>A<
>W<
>Y<
@DRAW now specified
@draw
>A< >Y<
>W<
>A<
>W<
>Y<
@end
@nf end
@head centre,@END
$R$
@border
Denotes the end of the current form.
@end
@nf filename
@head centre,@FILENAME
$R$
@border
To declare an unprotected field requiring validation as a
MS-DOS filename. If the keyword OPTIONAL is present then
the field may be left blank. If however characters are
entered they will be validated. The keyword EXISTS if
present, instructs Taskmaster to make sure that the file can
be opened for reading. The name given may be a full
hierarchical filename.
@FILename {{OPTIONAL}}{{EXISTS}}
@end
@nf m2
@col page,cyan,blue
@head centre,"Browse Menu Three"
$R$
$D$
@GON
7----------8-------------------------------------8-------------------------9
0DIRECTIVE 0 DATA TYPE / DESCRIPTION 0 KEYWORDS 0
4----------5-------------------------------------5-------------------------6
0{FILENAME }0 Defines a filename field. 0 0
4----------5-------------------------------------5-------------------------6
0{GOFF }0 Turns off graphics mode. 0 0
4----------5-------------------------------------5-------------------------6
0{GON }0 Turns on graphics mode. 0 0
4----------5-------------------------------------5-------------------------6
0{HEADING }0 Heading - automatic centreing 0 LEFT 0
0 0 within the line. Declared values 0 RIGHT 0
0 0 are displayed by @BANNER directive.0 CENTRE 0
4----------5-------------------------------------5-------------------------6
0{LIST }0 A list of 1-4 choice characters. 0 0
4----------5-------------------------------------5-------------------------6
0{LOGICAL }0 A logical value which may be either0 0
0 0 Y for YES, or N for NO. 0 0
4----------5-------------------------------------5-------------------------6
0{MAP }0 Defines a character and its 0 0
0 0 replacement for use in subsequent 0 0
0 0 translation during processing. 0 0
1----------2-------------------------------------2-------------------------3
@goff
$W$
$M$
@end
@nf GOFF
@head centre,@GOFF
$R$
@border
Turns Graphics-mode OFF as set by a @GON directive or an
embedded ^X character. Also stops the action of the
@TRANSLATE directive.
Example:
@DRAW
>1<
@gon
7--------8-----------9
0Name 0Number 0
4--------5-----------6
@goff
Copyright (c) FmP 1991
>1<
Displays as:
>2<
@gon
7--------8-----------9
0Name 0Number 0
4--------5-----------6
@goff
Copyright (c) FmP 1991
>2<
@end
@nf GON
@head centre,@GON
$R$
@border
Turns Graphics-mode ON. This directive has two purposes;
1. To effect the translation of numbers encountered in the
form into graphic shapes in accordance with the table
below:
2. To activate the @TRANSLATE and SOFT directives.
Single line characters: Double line characters:
7 7 8 8 9 9 7 7 8 8 9 9
4 4 5 5 6 6 4 4 5 5 6 6
1 1 2 2 3 3 1 1 2 2 3 3
0 0 - - 0 0 - -
See @SINGLE_LINE and @DOUBLE_LINE
@end
@nf HEADing
@head centre,@HEADING
$R$
@border
A HEADING directive is used to define part of the contents
of the line displayed when a BANNER directive is
encountered. The line consists of three component parts,
each defined by a HEADING directive.
@HEADing PART,text_string
@HEADing PART,literal
PART = LEFT defines the left hand part of BANNER
= RIGHT defines the right hand part of BANNER
= CENTRE defines the centre part of BANNER
To prevent lower-case characters from being converted to
upper-case within the text of the heading, you should
enclose the text inside single or double quotes.
Control characters may be present in the headings to control
colour, reverse or intensity etc.
The following 2 lines were used to produce the above banner:
@head centre,"@HEADING"
@banner
@end
@nf LIST
@col page,cyan,blue
@head centre,@LIST
$R$
@border
@list OEC
This directive defines an unprotected field to contain a
single character. The character is compared against a list
of 1-4 characters and if it is not in the supplied list, it
is rejected.
Thus it is useful for simple "choice" fields.
@LIST abcd
Example:
@draw
>1<
@list OEC
O_rder, E_nquiry, C_omplaint (Enter O, E or C){[ ]}
>1<
Displays as:
>2<
O_rder, E_nquiry, C_omplaint (Enter O, E or C) [ ]
>2<
$N$
@end
@nf LOGical
@col page,cyan,blue
@head centre,@LOGICAL
$R$
@border
@logical
A logical directive is used to define an "unprotected field"
for a logical value. Acceptable responses are 'y', 'Y', 'n'
and 'N'
It is therefore ideal for asking questions.
@LOGical {{OPTIONAL}}
Example:
@draw
>1<
@logical
Print the invoice{[ ]}
>1<
Displays as:
>2<
Print the invoice [ ]
>2<
$N$
@end
@nf key
@head centre,@key
$R$
@border
Overcomes the following limitations or the first character search
mechanism in bounce-bar menus: The first characters are not specially
highlighted so it might not be obvious that the facility is available;
and the first character is not always the most appropriate shortcut
character.
The KEY directive allows any desired character within a topic to be
designated as an "action character" (by preceding it with ^K) and to
nominate the colour and intensity to be used for display.
Example:
@draw
>1<
@bbmenu cyan,blue
@key bright,white,blue
{{Run the ^KAccounts system }}{{Run the monthly ^KPayroll }}
{{Take a ^KBackup of todays transactions }}
>1<
Displays as:
@win line21,column 10,depth2,width 60
@bbmenu cyan,blue
@key bright,white,blue
{Run the Accounts system }{Run the monthly Payroll }
{Take a Backup of todays transactions }
@colour char,white,blue
@win line23,column3,depth1,width1
Select and press <> or press a highlighted key
@colour char,cyan,blue
@end
@nf bbhelp
@head centre,@bbhelp
$R$
@border
The UNIX version of Taskmaster has long had a facility whereby when a
topic of a bounce-bar menu is highlighted; a line of help is displayed
at a nominated screen location to explain its function.
The BBHELP command defines the colour, intensity, width and placement
of such help lines. The lines themselves are defined using @help.
Example:
@draw
>1<
@bbmenu cyan,blue
{{Backups }}{{Wordprocessing }}{{Executive WP }}
@bbhelp line20,column1,width 50,bright,white,blue
@help ' This should be done daily'
@help ' This wordprocessor is configured for the laser'
@help ' Drives this daisywheel next door'
>1<
@win line19,column 10,depth2,width 60
@bbmenu cyan,blue
{Backups }{Wordprocessing }{Executive WP }
@bbhelp line20,column10,width 50,bright,white,blue
@help ' This should be done daily'
@help ' This wordprocessor is configured for the laser'
@help ' Drives this daisywheel next door'
@colour char,white,blue
@win line23,column3,depth1,width1
Press <SPACE> repeatedly to see the effect, then press <>
@colour char,cyan,blue
@end
@nf help
@head centre,@help
$R$
@border
See BBHELP.
@end
@nf line
@head centre,@line
$R$
@border
The LINE directive is used in association with @WINDOW and @OUTLINE.
It describes a horizontal line intersecting an existing outline. Note
that the @LINE directive is counted as a display line.
Example:
@draw
>1<
@window line17,column10,depth 5,width 60
@out cyan
First line of text
@line
Second line of text
>1<
Displays as:
@window line17,column10,depth 5,width 60
@out cyan
First line of text
@line
Second line of text
@end
@nf MAP
@head centre,@MAP
$R$
@border
@map x,de
A MAP directive is used to define a character to be
translated when encountered in a form. The purpose of such
a mapping is to simplify definition of non-textual data on
the screen. Mapping not done until @TRANSLATE encountered.
@MAP a,hh
a = is a character to be mapped and may be any displayable
character, if lower case must be enclosed in quotes.
hh = the hex value of the replacement char in the range 00-FE
Example:
@draw
>1<
@map x,de
@translate
XXXXXXXXX Turning Graphic mode on ^XXXXXXXX^X
>1<
Displays as:
>2<
@translate
XXXXXXXXX Turning Graphic mode on XXXXXXXX
>2<
@end
@nf SHADOW
@head centre,@SHADOW
$R$
@border
The SHADOW directive is used with the @DROP directive. It specifies
the colours and intensity to be used for the shadow in drop down
menus.
Example:
@draw
>1<
@shadow bright,black,white
>1<
@end
@nf drop
@head centre,@drop
$R$
@border
A drop-down is a menu or form which restores the contents of the
screen after use. The DROP directive is used to declare a template
as a drop-down. The placement of the drop-down may be calculated at
run-time (by use of the under keyword parameter) to be related to the
position of the highlight of the previous bounce-bar menu. The number
of lines beneath the menu may be controlled by the offset count; 1
being the default (= 1 line beneath topic).
When displayed the drop-down has a shadow the colour of which is
controlled by the SHADOW directive.
Example:
@draw
>1<
@window line0,column0,depth4,width 20
@bbmenu cyan,blue
@drop under,offset 2
{topic one }
{topic two }
>1<
Taskmaster will relocate the drop-down if it won't fit beneath the
highlight (aligning the shadow with the right or bottom edge as reqd).
@end
@nf OUTLINE
@head centre,@OUTLINE
$R$
@border
The OUTLINE directive offers a simple way or surrounding a windoe with
a graphic border in any desired colour. SCR will ensure that the
colour of the rest of the screen is not affected by the OUTLINE. Any
text placed on the line immediately following the @OUTLINE directive
will overwrite the top line of the outline. See also @LINE.
Example:
@draw
>1<
@window line18,column10,depth4,width 60
@out cyan
First line of text
Second line of text
>1<
Displays as:
@window line18,column10,depth 4,width 60
@out cyan
First line of text
Second line of text
@end
@nf MENu
@head centre,@MENU
$R$
@border
A MENU directive is used to define a conventional menu screen
(as opposed to a bounce-bar menu or a form). A conventional
menu must have a single unprotected field on the screen, which is
used to receive a numeric value corresponding to a selection from
a list of options.
@MENu OPTnn
where nn is the number of options and is mandatory
@draw
>1<
@MENu OPT4
1. Wordprocessing
2. Spreadsheets
3. Fiscal Planning
4. Quit [[ ]]
>1<
The text is entirely arbitrary. Conventional menus MUST be displayed
using the Taskmaster MENU command.
@end
@nf m3
@col page,cyan,blue
@head centre,"Browse Menu Four"
$R$
$D$
@GON
7----------8-------------------------------------8-------------------------9
0DIRECTIVE 0 DATA TYPE / DESCRIPTION 0 KEYWORDS 0
4----------5-------------------------------------5-------------------------6
0{MENU }0 A choice from a list of numbers. 0 OPT 0
4----------5-------------------------------------5-------------------------6
0{NF }0 Start of a new form. Initialises 0 0
0 0 form related attributes. 0 0
4----------5-------------------------------------5-------------------------6
0{NUMBER }0 A numeric value in range 0-65535. 0 MIN,MAX 0
4----------5-------------------------------------5-------------------------6
0{OVERLAY }0 Allows two or more screens to be 0 0
0 0 overlayed on top of each other. 0 0
4----------5-------------------------------------5-------------------------6
0{PATH }0 Allows a path to an existing 0 0
0 0 MS-DOS directory. 0 0
4----------5-------------------------------------5-------------------------6
0{PRINTER }0 Allows a valid MS-DOS printer 0 0
0 0 identifier PRN1-3 CON1-2 0 0
1----------2-------------------------------------2-------------------------3
@goff
$W$
$M$
@end
@nf NF
@head centre,@NF
$R$
@border
A NEWFORM directive marks the start of a form, resets form
related variables and activates text processing.
@NF FORMNAME {{,MODE0}}
Typical text template:
@draw
>1<
@NF NAME
This is the text that the user will see when
Taskmaster encounters a PUT "NAME" command. A
clear screen is provided by default. Colours
and intensity are also reset. See @DEFAULTS.
@end
>1<
@end
@nf NUMBER
@col page,cyan,blue
@head centre,@NUMBER
$R$
@border
@num min1,max52
A NUMBER directive is used to define an "unprotected field"
to contain a numeric value.
@NUMber {{MIN nn}}
@NUMber {{MAX nn}}
@NUMber {{MIN nn}}{{,MAX nn}}
Example:
@draw
>1<
@num min1,max52
Please enter the week number{[ ]}
>1<
Will display like this:
>2<
Please enter the week number [ ]
>2<
$N$
@end
@nf OVERLAY
@head centre,@OVERLAY
$R$
@border
This directive complements the NOCLEAR keyword on the
Taskmaster "PUT" command. @OVERLAY causes the clear screen
which is normally at the start of a form to be replaced by a
"home cursor" sequence. The effect is to display the
"overlay" screen on top of any existing screen data.
@end
@nf PATH
@head centre,@PATH
$R$
@border
Used to define a field for pathname validation. The path
entered will be validated according to MS-DOS convention. It
may start with a drive letter and colon. To specify the
root directory the user will have to enter either:
[[\ ]]
or
[[D:\ ]]
Where D is the drive identifier. In all other cases the
trailing \ is not required (or permitted).
The @PATH directive is intended solely for the entry of path
names and should not be used to validate filenames.
The current directory symbol (.) and the parent directory
symbol (..) may be used.
@end
@nf PRINTER
@col page,cyan,blue
@head centre,@PRINTER
$R$
@border
@printer
Used to define a field for printer name validation.
The name entered in the field at run time will be validated
against the following list:
LPT1 LPT2 LPT3 COM1 COM2 AUX PRN
Example:
@draw
>1<
@printer
Which printer do you wish to use? {[ ]}
>1<
Displays as:
>2<
Which printer do you wish to use? [ ]
>2<
$N$
@end
@nf RANGE
@col page,cyan,blue
@head centre,@RANGE
$R$
@border
@RANGE A,F
This directive defines an unprotected field to contain a
single character. The character when input must lie within
a defined range of values.
@RANGE min,max
min is any char taken from the displayable character set.
max is a character taken from the displayable character set
and having a higher ascii value than "min", according
to the collating sequence.
Example:
@draw
>1<
@RANGE A,F
Which DRIVE do you wish to use?{[ ]} (enter A-F)
>1<
Displays as:
>2<
Which DRIVE do you wish to use? [ ] (enter A-F)
>2<
$N$
@end
@nf m4
@col page,cyan,blue
@head centre,"Browse Menu Five"
$R$
$D$
@GON
7----------8-------------------------------------8-------------------------9
0DIRECTIVE 0 DATA TYPE / DESCRIPTION 0 KEYWORDS 0
4----------5-------------------------------------5-------------------------6
0{RANGE }0 A range of values for a field 0 0
0 0 between 2 specified characters in 0 0
0 0 the ASCII collating sequence. 0 0
4----------5-------------------------------------5-------------------------6
0{REPEAT }0 Duplicates the following line 0 x (followed by a count) 0
4----------5-------------------------------------5-------------------------6
0{SINGLE }0 Sets single line graphics mode 0 0
4----------5-------------------------------------5-------------------------6
0{SOFT }0 Suppresses display of spaces found 0 0
0 0 within lines when in Graphic-mode. 0 0
4----------5-------------------------------------5-------------------------6
0{SPACES }0 Declares a value for substitution 0 LEN 0
0 0 in following fields containing _ 0 0
0 0 as their first 2 characters. 0 0
4----------5-------------------------------------5-------------------------6
0{STRING }0 A String of characters. 0 MIN (length) 0
4----------5-------------------------------------5-------------------------6
0{TIME }0 A TIME in the format HH:MM. 0 0
1----------2-------------------------------------2-------------------------3
@goff
$W$
$M$
@end
@nf repeat
@head centre,@REPEAT
$R$
@border
This directive can be used to save source file space when a
number of lines are repeated 2 or more times in the same
form.
Example:
@draw
>1<
@gon
7------------8---------------8--------------9
@repeat x4
0 0 0 0
1------------2---------------2--------------3
>1<
Displays as:
>2<
@GON
7------------8---------------8--------------9
@repeat x4
0 0 0 0
1------------2---------------2--------------3
>2<
@end
@nf single
@head centre,@SINGLE_LINE
$R$
@border
When in graphics mode all numeric digits and minus signs
have special meaning they are translated into graphic
shapes; see the GON directive.
@SINGLE_LINE
@SINGLE_LINE ensures that the shapes are composed of the
single line characters (01234567890-).
Within lines the ^Y character will toggle between single and
double line modes.
@end
@nf SOFT
@head centre,@SOFT
$R$
@border
A SOFT directive is used when space characters within lines
are required to be in page background colour and not the
normal character background colour. It is only effective in
Graphics mode - see @GON directive.
Example:
@draw
>1<
@col page,cyan,blue
@col char,white,red
Without @soft SPACES are CHAR background colour.
@soft
@gon
Using @soft SPACES are PAGE background colour.
>1<
Displays as:
@border
@gon
@dou
@col char,white,red
>2<
Without @soft SPACES are CHAR background colour.
@soft
Using @soft SPACES are PAGE background colour.
>2<
@end
@nf SPACES
@col page,cyan,blue
@head centre,@SPACES
$R$
@border
@str
@str
Pre-defines the number of space characters to substitute in
place of an underscore character found within [[ and ]].
When you want to avoid counting the exact number of spaces
within an unprotected field, this directive can be used in
conjunction with _ (underscore).
@SPACEs LENnn
Example:
@draw
>1<
@str
@str
@spaces len40
Address line one {[_]}
Address line two {[_]}
>1<
Displays as:
@spaces len40
>2<
Address line one [_]
Address line two [_]
>2<
$N$
@end
@nf STRing
@col page,cyan,blue
@str
@str
@head centre,@STRING
$R$
@border
A STRING directive is used to define an "unprotected field"
for any character string.
@STRing {{MIN nn}} {{,CONVERT}}
Example
@draw
>1<
@str
@str
Please enter your username {[ ]}
and password {[! ]}
>1<
Displays as:
>2<
Please enter your username [ ]
and password [! ]
>2<
(Note that the ! character suppresses echo of characters
entered into second field - cannot be used on other field types)
$N$
@end
@nf TIME
@col page,cyan,blue
@head centre,@TIME
$R$
@border
@time
A TIME directive is used to define an "unprotected field"
for a time entered in the format HH:MM.
@TIME {{OPTIONAL}}
The format for a time is HH:MM.
Example
@draw
>1<
@time
At what time do you want to start the Archive? [[ ]] hh:mm
>1<
Displays as:
>2<
At what time do you want to start the Archive? [ ] hh:mm
>2<
$N$
@end
@nf m5
@col page,cyan,blue
@head centre,"Browse Menu Six"
$R$
$D$
@GON
7-----------8-------------------------------------8-------------------------9
0DIRECTIVE 0 DATA TYPE / DESCRIPTION 0 KEYWORDS 0
4-----------5-------------------------------------5-------------------------6
0{TRANSLATE }0 Effects translation of the mapped 0 0
0 0 characters as defined by @MAP 0 0
0 0 directive. 0 0
4-----------5-------------------------------------5-------------------------6
0{USERLINE }0 Defines data for line 25 0 0
4-----------5-------------------------------------5-------------------------6
0{VIDEO }0 Declares the video definition 0 Filename.DEF 0
0 0 name. Must be the first directive. 0 0
4-----------5-------------------------------------5-------------------------6
0{WINDOW }0 Enables windows to be drawn on the 0 0
0 0 screen at desired locations. 0 0
0 0 Coloured windows are supported. 0 0
1-----------2-------------------------------------2-------------------------3
@goff
$W$
@use 'SCRMAN <F1>=HELP, <PgUp>=previous menu <esc>=Main menu'
@end
@nf TRANSLATE
@head centre,@TRANSLATE
$R$
@border
A TRANSLATE directive is used to effect the translation of
characters as defined by any preceding MAP directives.
Must be used in combination with Graphic mode which is set
by @GON or an embedded ^X character.
Example
@draw
>1<
@MAP T,de
@translate
Translation only occurs in Graphic mode ^X123T^X
>1<
Displays as:
>2<
@MAP T,de
@translate
Translation only occurs in Graphic mode 123T
>2<
See table in @GON entry re: number translation.
@end
@nf USErline
@head centre,@USERLINE
$R$
@border
The USERLINE is the last line of the screen. You may define
this line using the @USERLINE directive. Remember that the
time is also displayed on this line.
Example
@draw
>1<
@use '^RPress ^Tany key^T to continue...^R'
>1<
Displays as shown in line 24:
@use 'Press any key to continue...'
@end
@nf VIDeo
@head centre,@VIDEO
$R$
@border
Denotes the start of screen template data. Opens the video
definition file ready for use.
@end
@nf WINdow
@col page,cyan,blue
@head centre,@WINDOW
$R$
@border
The @WINDOW directive allows you to create windows anywhere
on the screen without affecting the existing display.
@WINdow LINEl,COLUMNc,DEPTHd,WIDTHw{{,PATTERN z}}
l = the line number of the first line of the window,
c = the column number of the first column of the window,
d = the depth of the window expressed in lines,
w = the width of the window, expressed in columns.
z = is decimal value of filler char - try 176,177,178.
(keywords line,column,depth,width and pattern may be omitted)
Example
@draw
=1=
$C$
@WIN LINE17,COLUMN55,DEPTH5,WIDTH23,PATTERN177
@WIN LINE16,COLUMN53,DEPTH5,WIDTH23,PATTERN178
Windows allow easy,
accurate placement
of overlay text. ^E
=1=
$C$
@WIN LINE17,COLUMN55,DEPTH5,WIDTH23,PATTERN177
@WIN LINE16,COLUMN53,DEPTH5,WIDTH23,PATTERN178
Windows allow easy,
accurate placement
of overlay text.
@end
@nf markers
@acceptfk f1
@head centre,@markers
$R$
@border
Markers are otherwise known as feet and are used to mark or de-limit
fields on the screen to make data entry easier.
@markers none
@markers xy
where none disables markers (and indication of error)
x is the character to use at the start
y is the character to use at the end
@draw
>1<
@markers ><
@str Note the use of '-' and its effect
Your name please [[- ]] (to fill field with underscores)
>1< '.' may be used to fill with dots.
Displays as:
@markers ><
@str
>2<
Your name please [- ]
>2<
$N$
@end
@eof